package com.yy.QSManage.service;

import com.yy.QSManage.model.dto.ChangePasswordDto;
import com.yy.QSManage.model.dto.LoginDto;
import com.yy.QSManage.model.dto.LoginResultDto;
import com.yy.QSManage.model.entity.FaSysMember;
import com.yy.QSManage.model.entity.gen.FaSysMenuView;
import com.yy.QSManage.service.base.BaseService;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

public interface FaSysMemberService extends BaseService<FaSysMember> {

    /**
     * 登录
     * @param loginInfoDto
     * @param request
     * @return
     */
    LoginResultDto login(LoginDto loginInfoDto, HttpServletRequest request);

    /**
     * 用户id
     * @param member
     * @return
     */
    List<FaSysMenuView> getPower(FaSysMember member);

    /**
     * 退出登录
     * @param token
     */
    void logout(String token);

    /**
     * 刷新登录凭证
     * @param token
     */
    void refresh(String token);

    /**
     * 获取token中用户信息
     * @param token
     * @return
     */
    FaSysMember getTokenMember(String token);

    /**
     * 获取当前登录用户信息
     * @return
     */
    FaSysMember getTokenMember();

    /**
     * 获取当前登录用户Id
     * @return
     */
    String getTokenMemberId();
    /**
     * 修改密码
     * @param changePasswordDto
     */
    void changePassword(ChangePasswordDto changePasswordDto);
}

